#!/bin/bash
######################################## VAR ###################
DIR=$(locate tarfiles |head -1 | sed "s/\/tar.*//")
DEST=$(locate tarfiles |head -1)
MES=`date +"%b%y"`
MAQ=`hostname`
DESTB=/home/mnt/$MES/$MAQ
LOGS=/home/mnt/opr/logs/$MAQ
DATA=`date +"%Y-%m-%d"`
DATAF=`date --date '1 days ago' +"%Y-%m-%d"`
DATA2F=`date --date '1 days ago' +"%Y%m%d"`
#############################//#################//############

IfDirExsit(){ # Testa a existência de diretórios
if [ ! -d $d ]; then
	mkdir -p $d
fi
}

ZipAndMove (){ #compacta os logs da Aplicação.
#set -xv
cd $DIR
ls -lt *log* --time-style=long-iso  > lista.txt

 #Compacta arquivos e move para /bkp
for b in `grep "$DATAF" lista.txt | awk '{print $8}'`
do
 gzip -9 $b && mv *.gz $DEST/bkp >> $LOGS/resultado$MES.log
done
cd $DIR # retorna aos logs e testa a existencia do localhost.txt.  
if [ -f localhost_access_log.$DATAF.txt ]
then
 gzip -9 localhost_access_log.$DATAF.txt && mv *.gz $DEST/bkp >> $LOGS/resultado$MES.log
fi
#set +xv
}


MakeTar (){ # Criação de tar com logs compactdos
#set -xv
cd $DEST/bkp
	tar -cvzf $DEST/Logs-$MAQ-$DATAF.tar.gz *.gz
if [ "$?" -eq "0" ] #testa resultado do ultimo comando.
	then
 if [ -f $DEST/Logs-$MAQ-$DATAF.tar.gz ] # testa se arquivo foi criado(double check).
	  then
   if [ -s $DEST/Logs-$MAQ-$DATAF.tar.gz ] #teste se tamanho é maior que zero(triple check).
	    then
     cd $DEST
     echo -en "\t-- `date +"%d-%m-%Y"` - Arquivos no diretório TARFILES --- " >> $LOGS/resultado$MES.log
     ls -lt Logs* >> $LOGS/resultado$MES.log
		fi
	fi
fi
#set +xv
}

TestIntegrity() { #Check em arquivo Container, confirmando integridade, condição para permitir a limpeza da pasta /bkp.
#set -xv
	cd $DEST
	 tar -tvf Logs-$MAQ-$DATAF.tar.gz > /dev/null 2>&1

if [ $?  -eq 0 ] 
	then
	T1=`date --date '1 days ago' +"%d/%m/%y - %H:%M:%S"
	rm -rf bkp/*.gz  # No sucesso da criação do arquivo tar.gz serão apagados os arquivos compactados na pasta bkp/.
	echo "Compactação de Logs $T1 com SUCESSO"  >> $LOGS/resultado$MES.log
else
	T1=`date --date '1 days ago' +"%d/%m/%y - %H:%M:%S"
	echo "Verificar compactação de logs em $T1 ocorreu um ERRO"  >> $LOGS/resultado$MES.log
fi
#set +xv
}


MoveBackup () {
#set -xv	
	cd $DEST
	if [ `ls -lt Logs* | wc -l` -gt "3" ] # Define os arquivos a serem copiados para disco de backup
	    then
	     T1=`date +"%d/%m/%y - %H:%M:%S"`
	     echo "----- Inicio copia para $DESTB em $T1:" >> $LOGS/resultado$MES.log # mostra hora do inicio do processo
#	     `ls -loght Logs* | awk '(NR>5) {print $0}'` >> $LOGS/result$DATA.log
	     for a in `ls -lt Logs* | awk '(NR>3) {print $9}'` #inicia cópias
	  do
		md5sum $a > $LOGS/md5sum-LOCAL # gera chave local do arquivo para comparação
			MD5LOCAL=$(cat $LOGS/md5sum-LOCAL|awk '{print $1}')
	      cp $a $DESTB #copia arquivo de origem
		if [ $? -eq 0 ] # teste resultado do comando cp
		       then
			md5sum $DESTB/$a > $LOGS/md5sum-REMOTE # gera chave do arquivo recem copiado
			MD5REMOTE=$(cat $LOGS/md5sum-REMOTE |awk '{print $1}')
			if [ $MD5LOCAL = $MD5REMOTE ] # compara chave se resultado ok...
				then
       	 T1=`date +"%d/%m/%y - %H:%M:%S"`
	        echo "Copia de $a em $T1 com SUCESSO" >> $LOGS/resultado$MES.log
		       else
	        T1=`date +"%d/%m/%y - %H:%M:%S"`
        	echo "copia de $a em $T1 com ERRO" >> $LOGS/resultado$MES.log
			fi
		fi
		    done
	fi
#set +xv
}
ApacheTest() {
case $MAQ in
portalwap01| portalwap02)
	 APACHEDIR=$(locate apache2 | grep "log*" | grep portalwap | head -1)
	cd $APACHEDIR

if [ -f  portal_wap_access.$DATAF.log -a  portal_wap_error.$DATAF.log ]
	then
	 gzip -9 portal_wap_access.$DATAF.log portal_wap_error.$DATAF.log  ; mv *.gz $DEST/bkp >> $LOGS/resultado$MES.log
fi
;;
Mum03 | Mum04 | Mum05 | Mum06)
       	APACHEDIR=$(locate apache2 | grep "log*" | head -1)
	cd $APACHEDIR
	gzip -9 *.$DATAF.log ; mv *.gz $DEST/bkp >> $LOGS/resultado$MES.log 
;;
OiInternet01 |OiInternet02)

	APACHEDIR=$(locate jboss/apache2/logs | head -1)
	cd $APACHEDIR

if [ -f access.$DATAF.log -a error.$DATAF.log ]
	then
	 gzip -9 access.$DATAF.log error.$DATAF.log ; mv *.gz $DEST/bkp >> $LOGS/resultado$MES.log
fi
#DONE 
;;
CompraColetiva02)
#set -xv
	APACHEDIR=$(locate jboss/apache2/logs | head -1)
	cd $APACHEDIR
if [ -f access.$DATAF.log -a error.$DATAF.log ]
	then
	 gzip -9 access.$DATAF.log error.$DATAF.log ; mv *.gz $DEST/bkp  >> $LOGS/resultado$MES.log
fi
#set +xv
;;
WapBilling01)
	APACHEDIR=$(locate log/apache2 |head -1)

if [ -f access.$DATAF.log -a error.$DATAF.log ]
then
 gzip -9 access.$DATAF.log error.$DATAF.log ; mv *.gz $DEST/bkp >> $LOGS/resultado$MES.log
fi
;;
esac
}
